Hypertext transfer protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems used to exchange or transfer hypertext. HTTP is the foundation of data communication for the World Wide Web. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text.
HTTP functions as a request-response protocol in the client-server computing model. A web browser, for example, may be the client and an application running on a computer hosting a web site may be the server. The client can submit an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, can return a response message to the client. The response message can contain completion status information about the request and can also contain requested content in its message body.
A web browser is an example of a user agent (UA). Other types of user agents include the indexing software used by search providers (web crawlers), voice browsers, mobile apps, and other software that accesses, consumes, or displays web content. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time. Web browsers can cache previously accessed web resources and reuse them when possible to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients, without a globally routable address, by relaying messages with external servers.
HTTP resources are identified and located on a network by uniform resource identifiers (URIs)—or, more specifically, uniform resource locators (URLs)—using the HTTP or HTTPS URI schemes. URIs and hyperlinks in hypertext markup language (HTML) documents form webs of inter-linked hypertext documents.
The above-described background relating to HTTP protocol is merely intended to provide a contextual overview of some current issues, and is not intended to be exhaustive. Other contextual information may become further apparent upon review of the following detailed description.